
indexing
	description: "Objects that ..."
	author: ""
	date: "$Date$"
	revision: "$Revision$"

class
	MISIL


create
	crear_misil

feature

	crear_misil
		--Constructor de la clase MISIL
		do
			objetivo := ""
		end

feature

	activar
		-- Activa el material explosivo del misil. Falla si el material es defectuoso.
		local
			r: RANDOM
			t: DATE_TIME
		do
			create r.make
			create t.make_now
			r.set_seed (t.seconds)
			if ((r.next_random (t.seconds) \\ 2) /= 0) then
				print ("El material estaba fallado %N")
				r := Void
				r.set_seed (1)
			end
			print ("Se activo el material explosivo %N")
		end

feature
	fijar_blanco(codUbicacion : STRING)
			-- Carga en la memoria del misil la ciudad objetivo. Falla si la memoria esta fallada.
		local
	 		r: RANDOM
	 		t: DATE_TIME
	 	do

	 		create r.make
	 		create t.make_now
	 		r.set_seed(t.seconds)
	 		if((r.next_random(t.seconds)\\2)=0)
	 			then
	 				print("La memoria del misil esta defectuosa, no se pudo fija blanco %N")
	 				r:=void;
	 				r.set_seed(1)
	 			end
	 		print("Se fijo blanco del misil %N")
	 		objetivo:=codUbicacion
	 		ensure
			objetivo=codUbicacion
	 	end



	despegar
		-- Hace que el misil salga volando en busca de su objetivo. Falla si no hay combustible.
		local
			r: RANDOM
			t: DATE_TIME
		do
			create r.make
			create t.make_now
			r.set_seed (t.seconds)
			if ((r.next_random (t.seconds) \\ 2) /= 0) then
				print ("Error al despegar, no hay combustible! %N")
				r := Void
				r.set_seed (1)
			end
			print ("El misil esta despegando... %N")
		end

feature

	getObjetivo:STRING 
		-- Getter del objetivo
		do
			Result:=objetivo
		end


feature {NONE}

	-- Atributo privado Objetivo. Es el objetivo que se almacenara en la memoria del misil
	objetivo: STRING


end -- Fin de la clase MISIL
